Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Virtual Memory System

In a virtual memory system, the OS and hardware allow programs and users to use more memory than is actually available in the system hardware. This memory is known as virtual memory, a large amount of memory that can be mapped to physical memory. Virtual memory must be in physical memory to be used; it is copied out to disk if it is not being used and the space in physical memory is needed. The process of mapping virtual memory onto physical memory by copying the memory to and from disk is called paging, or swapping (depending on the OS architecture).

Paging and swapping serve the same purpose but operate slightly differently. In a swapping system, an entire process is swapped-out (moved from memory to disk) or swapped-in (moved from disk to memory). In a paging system, the movement of data to and from the secondary storage is done on a memory page basis; when more memory is needed, one or more pages are paged-out (moved from memory to disk) to make room. If data is requested from virtual memory and is not in physical memory, that data is paged-in (moved from disk to memory) as needed. The rest of this section uses the term paging to describe both paging and swapping.

Suppose that you have a computer system with 16M of physical memory. If you have a program that needs to access 20M of data, it is obvious that the process won’t fit in physical memory. In a virtual memory system, the data is read in until there is very little memory left (the OS reserves some for itself); then the OS copies some of the data pages to disk with the paging mechanism. Usually, this is done using a least recently used algorithm in which the oldest data is moved out. When some memory has been freed, the program can read more data into memory. As far as the program is concerned, all the data is still in memory. In fact, it is—in virtual memory. As the program begins to reread some of the data and manipulate it, different pieces may be paged-in (from disk to physical memory) and paged-out (from physical memory to disk).

As you can imagine, the process of paging-in or paging-out can be quite time consuming and uses a lot of system resources. This is why you have been warned several times in this book not to use so much memory that you cause paging or swapping. Access to disk is approximately 50 times slower than an access to memory.

Bus Design

There are so many bus designs in use today that I cannot go into much detail. A bus is a connection path used by the system to move data from one place to another. Although this description sounds simple at first, when you look at it from a performance perspective, you encounter things like the capacity, or bandwidth, of the bus.

The term bandwidth is used to describe the amount of data that can be transmitted across the bus in a certain time. Bandwidth was originally used to describe the electronic characteristics of a circuit. Over the years, this term has been adopted by computer designers and is often used to describe the capacity of the bus in megabytes per second (or some other metric).

Several bus designs have been introduced in the last few years, all with the same goal: increased capacity. As processors, network hardware, disk controllers, and disks become increasingly fast, it is necessary for the bus to support the load generated by these faster devices.

You really don’t have to worry about the bus under most circumstances. As computers increase in performance, computer designers are taking that performance into account; the system bus should not be a bottleneck in your system.

Summary

This chapter looked at how the system processors work and how performance is affected by various aspects of the computer hardware architecture. You read about the gaps in speed between various components of the system: as you move away from the CPU, components get progressively slower. By taking advantage of system memory and cache through careful tuning of the shared pool, database block buffers, and so on, you can maximize the use of these faster components.

The chapter finished with a brief overview of the system memory architecture and system bus architecture. This overview should give you more insight into the internal workings of your computer and can help you understand why optimizing the use of the SGA is so important.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.